Today, many electronic devices, such as computers and cell phones, use software that includes instructions for controlling the operation of these devices. These instructions are sometimes referred to as software programs or software processes, or simply programs or processes.
Some processes operating within a computing device may adversely affect performance of the computing device. An example of such an inefficient/nonproductive process is a process which makes many accesses to an input/output (I/O) device. If the process spends time idle while waiting for the I/O device to respond, then this may adversely affect performance of the computing device in that the process is not efficiently using the hardware resources of the device.
Thus, there is a continuing need for better ways to execute software in electronic devices.